import 'package:built_collection/built_collection.dart';
import 'package:equatable/equatable.dart';

sealed class BackupCustomCollectionListItemData {}

class BackupCustomCollectionData extends Equatable implements BackupCustomCollectionListItemData {
  const BackupCustomCollectionData({
    required this.id,
    required this.title,
    required this.lexicalItemIds,
  });

  final String id;
  final String title;
  final BuiltSet<String> lexicalItemIds;

  @override
  List<Object?> get props {
    return [
      id,
      title,
      lexicalItemIds,
    ];
  }
}

class BackupCustomCollectionFolderData extends Equatable implements BackupCustomCollectionListItemData {
  const BackupCustomCollectionFolderData({
    required this.id,
    required this.title,
    required this.collectionDataList,
  });

  final String id;
  final String title;
  final BuiltList<BackupCustomCollectionData> collectionDataList;

  @override
  List<Object?> get props {
    return [
      id,
      title,
      collectionDataList,
    ];
  }
}
